Supply power dependent controllable write throughput for memory applications

ABSTRACT

Techniques that allow dynamic management of throughput in a memory device based on a power supply voltage are provided. In an example embodiment, a method of operating a memory device comprises monitoring on the power supply level applied to the device and determining a corresponding number of bitlines that the device can activate at the same time, generating a control signal based on the number of bitlines, and using the control signal to activate a portion of the memory device corresponding to the determined number of bitlines.

FIELD OF THE INVENTION

This Application is a Continuation of U.S. patent application Ser. No. 13/644,895, filed Oct. 4, 2012, now U.S. Pat. No. 9,177,616, issued Nov. 3, 2015, which is incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION Related Art

Flash memory is a non-volatile memory composed of a number of individual memory cells that can each hold a value (i.e., 1 or 0) depending on what has been written to them previously. Like most re-programmable memory, Flash memory can be read, programmed, or erased. To program and erase Flash memory requires the application of a certain amount of current (often provided by a charge pump) to the cell or cells that are to be programmed or erased. The number of cells that can be written at a time is called “write throughput.”

The amount of write throughput that a memory device can accommodate depends on a number of factors including the size of the memory array and its structure, area allocated for peripheral circuitry (e.g., charge pumps, regulators, drivers, etc.), operating temperature, and power supply voltage, to name a few. One of the largest factors affecting write throughput, however, is the current capacity of the charge pump, which is directly related to, amongst other things, the voltage level of the power supply.

Memory devices (as with most semiconductor devices) are typically designed to operate using a range of supply voltages. For instance, one common supply voltage range for such devices is 2.6 V to 3.6 V. In order to guarantee a particular throughput for a memory device, the memory device must be designed to achieve that throughput even in the worst case scenario—i.e., when a supply voltage of 2.6 V is provided. However, in many cases, the memory device may be used in an application that provides greater than the minimum supply voltage. It would be desirable in these scenarios to allow the memory device to take advantage of the increased supply voltage (and corresponding increase in charge pump current) to increase the throughput of the device.

Thus, what is needed is a memory device that allows throughput to vary with the power supply voltage.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention include systems and methods of managing write throughput in a memory device. According to some embodiments, a method is provided where the power supply level is monitored. An appropriate throughput can then be determined based on the monitored power supply level. A control signal for controlling a number of memory drivers can then be generated based on the determined throughput. The control signal, according to embodiments, can cause the memory driver to activate a portion of a memory array that is consistent with the determined throughput. According to some embodiments, the method may also detect change in the power supply level and, in response, determine an adjusted (e.g., increased or decreased) throughput to be appropriate. The control signal can then be adjusted to deactivate a portion of the memory array or to activate previously inactive memory array portions depending on the adjusted throughput when the implemented operational sequences allows this update to take place.

According to some embodiments, a memory device is provided. The memory device includes a memory array, a controller, and a driver circuit. The memory may include a plurality of memory cells and/or bitlines. The controller can be configured to monitor a power supply level, determine an appropriate throughput based on the power supply level, and to generate a control signal based on the determined throughput. The driver circuit may be configured to selectively drive portions of the memory array based on the received control signal. The memory device may also include a power supply level detector configured to sense the power supply level and output an indication of the power supply level to the controller.

Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings. It is noted that the invention is not limited to the specific embodiments described herein. Such embodiments are presented herein for illustrative purposes only. Additional embodiments will be apparent to a person skilled in the relevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

Embodiments of the invention will now be described, by way of example only, with reference to the accompanying schematic drawings in which corresponding reference symbols indicate corresponding parts. Further, the accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention, and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the relevant art(s) to make and use the invention.

FIG. 1 is an exemplary graph of the current capacity of a charge pump at various supply voltages.

FIG. 2 is a functional block diagram depicting a memory device according to various embodiments of the invention.

FIG. 3 is a functional block diagram depicting a memory driver according to various embodiments of the invention.

FIG. 4 is a flowchart depicting a method of setting throughput in a memory device according to various embodiments of the invention.

FIG. 5 is a flowchart depicting a method of setting throughput in a memory device according to various embodiments of the invention.

The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.

DETAILED DESCRIPTION OF THE INVENTION

The following detailed description of the present invention refers to the accompanying drawings that illustrate exemplary embodiments consistent with this invention. Other embodiments are possible, and modifications can be made to the embodiments within the spirit and scope of the invention. Therefore, the detailed description is not meant to limit the invention. Rather, the scope of the invention is defined by the appended claims.

Various memory technologies are implemented with a memory core that comprises a number of individual memory cells each of which can store a value (e.g., 1 or 0). Different memory technologies have comparative advantages. Some, for instance, have a comparatively higher program speed and erase speed, but has a competitively lower read speed. Others, have a much higher read speed, but comparatively low program and erase speeds. One reason for a memory technology to have slower program and erase speeds is that it can require much more current per cell to effect a program or erase operation in some technologies. Given that, in most applications, there is only a finite amount of current available, in those technologies that require greater current per cell to effect program and erase operations, many fewer memory cells can be written at a time. That is, these technologies have less write throughput. However, write throughput can be increased in these memory devices (and others) by allowing them to capitalize on additional current when it is available so that more cells may be programmed or erased at a time.

FIG. 1 depicts a curve 102 that illustrates an exemplary current capacity of a charge pump in a memory device versus the supply voltage (in volts V). The numbers used are purely for example purposes and not tied to any particular embodiment. As can be seen in the graph 100, the current capacity mA varies greatly with the supply voltage thereby resulting in a large range of current capacity for a given range of supply voltage. For instance, in the worst case scenario depicted on the graph (an input voltage of 2.6 V), the current capacity is X mA, whereas in the best case scenario depicted (an input voltage of 3.6 V), the current capacity of the charge pump is about 2.5X mA. Accordingly, as can be seen by graph 100, the current capacity of the charge pump increases with the supply voltage.

In order to ensure that a device always functions in specified operating condition, the device is normally designed to operate under the “worst case scenario.” For instance, in the range depicted in FIG. 1, a memory device might be designed so that it is operational with a supply voltage of 2.6 V. A maximum available supply current of X mA might, therefore, be assumed during the design of the memory device. It can be desirable, however, to allow a user operating the device under “better” conditions (e.g., higher supply voltage) to take advantage of the increased current capacity and, accordingly, the increased throughput ability.

FIG. 2 depicts a memory device 200 that allows throughput to vary with supply voltage according to embodiments of the present invention. The memory device 200 may comprise a level detector 202, charge pump and/or regulator 204, a controller 206, a driver 208, and a memory array 210. The level detector can measure the power supply Vdd and determine a current power level, which it can then output to the controller 206.

According to some embodiments, the level detector 202 comprises an analog-to-digital converter (ADC) and outputs a digitized value of the detected level. However, the level detector may also be configured to determine whether the voltage level falls into one of a plurality of different levels or “bins.” For instance, continuing with the example earlier, assume that the memory device 200 is designed to operate in the range of 2.6 V to 3.6 V. The detector 202 may be configured to determine whether the supply voltage falls into one of, for instance, 4 bins. One possible division of the level bins might be as follows:

Level Voltage 0 2.60-2.85 1 2.86-3.10 2 3.11-3.35 3 3.36-3.60

The level detector 202 can be configured to output an indication of the voltage level of the supply voltage to the controller on bus 212. The size of bus 212 may vary according to the various embodiments. For instance, if the detector 202 is implemented as an ADC, then bus 212 may need to be a large number of bits depending on the precision of the ADC. However, if the level detector 202 is implemented to determine which of several level bins the supply voltage is, as discussed above, then bus 212 need only be the number of bits required to express the number of levels. For instance, in the above example with four levels, the bus 212 would only need to have two bit lines in order to express the four possible levels. A person having ordinary skill in the art can readily envision other implementations to achieve the same functionality based on the disclosure herein without departing from the scope of the inventions.

Controller 206 receives the level information from the level detector 202 and uses the level information to determine an appropriate throughput. According to some embodiments, the controller 206 may use a look-up table to determine the appropriate throughput. The look-up table may be programmed at the time of manufacture and may comprise a read-only memory (ROM) such as one-time programmable (OTP) ROM, PROM, EPROM, EEPROM, or the like. Additionally, according to some embodiments, the look-up table may be programmed by the user or re-programmable by the user and may be stored on a re-programmable memory such as a flash memory.

In some embodiments, the controller may also use the level information from the level detector 202, in combination with other pre-determined constants (e.g., maximum current, number of bitlines, etc.) to calculate the appropriate throughput instead of relying on a look-up table. Based on the determined throughput, the controller 206 generates a control signal and sends the control, which is then communicated to driver 208. Charge pump/regulator 204 can be used to provide driving current to the driver 208 for write operations in the memory array 210. Again, the case of a lookup table is provided by example and not limitation to the scope of the invention.

Driver circuit 208 provides driving current to the bitlines in the memory array 210 based on the input received on bus 214 from the controller 206. Driver 208 may be implemented similarly to the driver circuit 300 depicted in FIG. 3 according to various embodiments.

As shown in FIG. 3, driver circuit 300 can include a decoder 302, a bank of m transistors 304 ₁, 304 ₂, 304 ₃, 304 ₄, . . . , 304 _(m) (collectively referred to as transistors 304), which are connected between Vprog (i.e., power from the charge pump/regulator 204 shown in FIG. 2) and the individual bitlines of the memory array 308. As depicted in FIG. 3, the decoder 302 receives control input 306 from the controller 206 on bus 214. The decoder can then decode the input to cause an appropriate number of the transistors in the transistor bank 304 to turn on. According to some embodiments, the decoder may be omitted and the output from the controller may be directly connected to the various gate terminals in the transistor bank 304.

When the output from the decoder causes a transistor in the transistor bank 304 to turn on, it allows power from the Vprog 310 to power the various bitlines in the memory array 308. The bitlines can then be used for memory operations.

FIG. 4 depicts a method 400 for varying the throughput of a memory device according to various embodiments of the invention. As shown in FIG. 4, the method 400 begins by monitoring the power supply level at step 402. As discussed above, the power supply level can be monitored by an ADC. The ADC outputs a digital representation of the power level to the controller 206, or by determining which of several “bins” the power supply level falls into, transmits an appropriate indication of the “bin” to the controller 206.

At step 404, the controller can determine the appropriate throughput for the memory device based on the power supply level it has received. According to some embodiments, the controller may do this by accessing a look-up-table and to find the appropriate throughput based on the input power level. Alternatively, according to some embodiments, the controller may determine the appropriate throughput by calculating it.

At step 406, the controller can generate an appropriate control signal according to various embodiments of the invention. The control signal may be encoded or not. At step 408, the portion of the memory array indicated by the control signal can be activated. For instance, the portion of the memory array can be activated by turning appropriate transistors connecting the power supply to the various bit lines to the power supply ON. The control signal can cause a number of the transistors to turn OFF, according to some embodiments.

According to some embodiments of the present invention, the memory device may change (i.e., increase or decrease) the throughput when the supply voltage changes. An example of a method of doing so is depicted in FIG. 5. As shown in FIG. 5, the method 500 begins by monitoring the power supply level at step 502. As discussed above, the power supply level can be monitored by an ADC. The ADC outputs a digital representation of the power level to the controller 206, or by determining which of several “bins” the power supply level falls into, transmits an appropriate indication of the “bin” to the controller 206.

At step 504, the controller can determine the appropriate throughput for the memory device based on the power supply level it has received. According to some embodiments, the controller may do this by accessing a look-up-table and to find the appropriate throughput based on the input power level. Alternatively, according to some embodiments, the controller may determine the appropriate throughput by calculating it.

At step 506, the controller can generate an appropriate control signal according to various embodiments of the invention. The control signal may be encoded or not. At step 508, the portion of the memory array indicated by the control signal can be activated. For instance, the portion of the memory array can be activated by turning appropriate transistors connecting the power supply to the various bit lines to the power supply ON. The control signal may also cause appropriate transistors OFF according to some embodiments.

At step 510, the memory device may detect a change in the supply voltage and the new voltage supply level (or bin) will be transmitted to the controller. The controller will then determine whether a new throughput is required. If a new throughput is determined to be required at step 512, then the controller can adjust the control signal at step 514. The new control signal may cause additional transistors to be turned ON/OFF depending on whether more or less throughput is warranted by the change in power supply level.

It is to be appreciated that the Detailed Description section, and not the Summary and Abstract sections, is intended to be used to interpret the claims. The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, are not intended to limit the present invention and the appended claims in any way.

The present invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.

The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.

The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. A method comprising: monitoring a power supply; determining a power supply level; determining a first number of bitlines which a memory device can activate at a time based on the power supply level; generating a control signal based on the first number of bitlines; and activating a portion of the memory device corresponding to the first number of bitlines with a driver circuit in response to the control signal.
 2. The method of claim 1, wherein determining the power supply level comprises receiving an indication of voltage level value of the power supply from a voltage level detector.
 3. The method of claim 1, wherein the driver circuit comprises a plurality of transistors, each configured to provide power to a bitline of the memory device.
 4. The method of claim 3, wherein each of the plurality of transistors is configured to: provide power to a corresponding bitline when in a first state; and not provide power to the corresponding bitline when in a second state.
 5. The method of claim 3, wherein the control signal is configured to toggle a state of a set of the plurality of transistors.
 6. The method of claim 5, wherein the set comprises fewer than all of the plurality of transistors.
 7. The method of claim 1, wherein determining the first number of bitline comprises using a look-up table.
 8. The method of claim 7, wherein the look-up table is programmable.
 9. The method of claim 1, further comprising: detecting a reduction in the power supply level; determining a reduced number of bitlines; and adjusting the control signal to deactivate a portion of the memory device consistent with the reduced number of bitlines.
 10. The method of claim 1, further comprising: detecting an increase in the power supply level; determining an increased number of bitlines; and adjusting the control signal to activate an additional portion of the memory device consistent with the determined increased number of bitlines.
 11. The method of claim 1, wherein the memory device comprises Flash memory.
 12. A memory device, comprising: a memory array comprising a plurality of memory cells; a controller configured to: monitor a power supply; determine a power supply level of the power supply; determine a first number of bitlines that can be activated at a time based on the power supply level; and generate a control signal based on the first number of bitlines; and a driver circuit configured to selectively drive portions of the memory array based on the control signal.
 13. The memory device of claim 12, wherein the controller is configured to determine the power supply level by receiving an indication of a current voltage level of the power supply from a voltage level detector.
 14. The memory device of claim 12, wherein the driver circuit comprises a plurality of transistors, wherein each of the plurality of transistors is configured to provide power to a corresponding bitline in the memory array.
 15. The memory device of claim 14, wherein each of the transistors is configured to provide power to the corresponding bitline when in a first state, and not to provide power to the corresponding bitline when in a second state.
 16. The memory device of claim 14, wherein the control signal is configured to toggle a state of a set of the plurality of transistors.
 17. The memory device of claim 16, wherein the set comprises fewer than all of the plurality of transistors.
 18. The memory device of claim 12, wherein the first number of bitlines is determined using a look-up table.
 19. The memory device of claim 18, wherein the look-up table is programmable.
 20. The memory device of claim 12, wherein the memory array comprises Flash memory. 